package com.dsprun.dspai.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;


/**
 * 翻译请求参数
 */
@Data
public class TranslationRequest {
    /**
     * 需要翻译的原始文本（必填）
     */
    @NotBlank(message = "翻译文本不能为空")
    @Size(max = 5000, message = "翻译文本长度不能超过5000个字符")
    private String text;

    /**
     * 目标语言代码（ISO 639-1标准）
     * 示例：en, zh, ja, fr
     */
    @NotBlank(message = "目标语言不能为空")
//    @Pattern(regexp = "[a-z]{2}", message = "语言代码必须是2个字母的ISO代码")
    private String targetLanguage;

    /**
     * 源语言代码（可选，自动检测时留空）
     */
//    @Pattern(regexp = "[a-z]{2}|", message = "源语言代码必须是2个字母的ISO代码或为空")
    private String sourceLanguage;

    /**
     * 翻译风格选项
     */
    private TranslationStyle style = TranslationStyle.GENERAL;

    /**
     * 是否保留术语一致性（需要术语表支持）
     */
    private boolean glossaryEnabled = false;
}

